﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Temp.Model;

namespace Temp
{
    class Conversation
    {
        public string name { get; set; } // name refers to the name of the person speaking
        public string dialogue { get; set; }
        public char type { get; set; } // type referes to the type of dialogue if it is a game dialogue, inventory dialogue or a text dialogue 
        public List<string> optionList { get; set; }
        public string nameOfTriggerer { get; set; }
        public string typeOfTriggerer { get; set; }

        /// <summary>
        /// Constructor for the Conversation class
        /// </summary>
        /// <param name="name">Name of the speaker</param>
        /// <param name="dialogue">The dialogue to be used by the speaker</param>
        /// <param name="type">The speaker type</param>
        public Conversation(string name, string dialogue, char type)
        {//, List<Option> optionList) {
            this.name = name;
            this.dialogue = dialogue;
            this.type = type;
            this.optionList = new List<string>();
        }

        /// <summary>
        /// Clones a conversation
        /// </summary>
        /// <returns>Returns an instance of a conversation</returns>
        public Conversation clone()
        {
            Conversation c = new Conversation(this.name, this.dialogue, this.type);
            c.optionList = this.optionList;
            c.nameOfTriggerer = this.nameOfTriggerer;
            c.typeOfTriggerer = this.typeOfTriggerer;
            return c;
        }
    }
}
